package Question9_3; public class Question { public static int search(int a[], int l, int u, int x) { while (l <= u) { int m = (l + u) / 2; if (x == a[m]) { return m; } else if (a[l] <= a[m]) { if (x > a[m]) { l = m+1; } else if (x >=a [l]) { u = m-1; } else { l = m+1; } } else if (x < a[m]) u = m-1; else if (x <= a[u]) l = m+1; else u = m - 1; } return -1; } public static int search(int a[], int x) { return search(a, 0, a.length - 1, x); } public static void main(String[] args) { int[] a = {4, 5, 6, 7, 8, 9, 1, 2, 3}; for (int x : a) { System.out.println(x + " is at position " + search(a, x)); } } }